﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Onshi.POS.Modelo.Entidades;
using Onshi.POS.Repositorios;
using Onshi.POS.Proveedores.Vistas;
using Onshi.POS.Modelo.Enumeradores;

namespace Onshi.POS.Proveedores
{
    public class ProveedoresDetallePresentador
    {
        #region Constructores

        public ProveedoresDetallePresentador(IProveedoresDetalle vista)
        {
            this.vista = vista;
        }

        #endregion

        #region Atributos

        private IProveedoresDetalle vista;

        #endregion

        #region Propiedades

        private RepositorioProveedores RepositorioProveedores
        {
            get { return new RepositorioProveedores(); }
        }

        #endregion

        #region Metodos

        public void Inicializar()
        {
            var proveedor = RepositorioProveedores.DevolverPorId(vista.IdProveedor, true);
            if (proveedor == null)
                throw new Exception("El proveedor no existe");
            vista.IdRubroProveedor = proveedor.Rubro.Id;
            vista.IdListaPrecioCompra = proveedor.ListaPrecioCompra.Id;
            vista.Codigo = proveedor.Codigo;
            vista.Nombre = proveedor.Nombre;
            vista.LimiteDeuda = proveedor.LimiteDeudaFormato;
            vista.Cuit = proveedor.CuitFormato;
            vista.Email = proveedor.Email;
            vista.SitioWeb = proveedor.SitioWeb;
            vista.Estado = proveedor.Estado;
            vista.Observaciones = proveedor.Observaciones;
            vista.RubroProveedorNombre = proveedor.RubroNombre;
            vista.TipoIvaNombre = proveedor.TipoIvaNombre;
            vista.ListaPrecioCompraNombre = proveedor.ListaPrecioCompraNombre;
            vista.ListadoDomicilios = proveedor.Domicilios;
            vista.ListadoTelefonos = proveedor.Telefonos;
            vista.ListadoTiposFormasPagos = proveedor.TiposFormasPagos;
            vista.ListadoCamposPersonalizados = proveedor.CamposPersonalizados;
            vista.Imagen = proveedor.Imagen;
        }

        #endregion
    }
}
